import Axios from './Axios'
function createInstance(config) {
    // 创建一个Axios的实例对象
    const context = new Axios(config);// defaults interceptors
    // axios 是一个函数，axios({})发请求
    const instance = Axios.prototype.request.bind(context);
    // 给他添加上属性和方法
    // console.log(Object.keys(Axios.prototype));
    // Object.keys(Axios.prototype)
    // 将Axios.prototype原型上的方法，都添加给instance
    Object.keys(Axios.prototype).forEach(methodName => {
        // console.log(methodName);
        instance[methodName] = Axios.prototype[methodName]
    })
    // 将实例对象身上的defaults和拦截器也给instance
    Object.keys(context).forEach(key => {
        instance[key] = context[key]
    })
    // console.dir(instance);
    return instance;
}

export default createInstance;
